//package com.zomiot.portal.user.controller;
//
//import com.zomiot.portal.common.result.Result;
//import com.zomiot.portal.user.entity.UserPO;
//import com.zomiot.portal.user.mapper.UserMapper;
//import lombok.RequiredArgsConstructor;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.context.annotation.Profile;
//import org.springframework.security.crypto.password.PasswordEncoder;
//import org.springframework.web.bind.annotation.*;
//
//import java.util.HashMap;
//import java.util.Map;
//
///**
// * 调试控制器 - 用于排查问题
// *
// * ⚠️ 生产环境请删除此文件
// */
//@Slf4j
//@Profile("dev") // 只在开发环境启用
//@RestController
//@RequestMapping("/api/debug")
//@RequiredArgsConstructor
//public class DebugController {
//
//    private final UserMapper userMapper;
//    private final PasswordEncoder passwordEncoder;
//
//    /**
//     * 测试密码验证
//     */
//    @GetMapping("/test-password")
//    public Result<Map<String, Object>> testPassword(
//            @RequestParam String username,
//            @RequestParam String password) {
//
//        Map<String, Object> result = new HashMap<>();
//
//        // 1. 查询用户
//        UserPO user = userMapper.selectByUsername(username);
//        result.put("用户是否存在", user != null);
//
//        if (user == null) {
//            return Result.success(result, "用户不存在");
//        }
//
//        result.put("用户ID", user.getId());
//        result.put("用户名", user.getUsername());
//        result.put("数据库密码哈希", user.getPasswordHash());
//        result.put("输入的密码", password);
//
//        // 2. 测试密码匹配
//        boolean matches = passwordEncoder.matches(password, user.getPasswordHash());
//        result.put("密码是否匹配", matches);
//
//        // 3. 生成新密码哈希对比
//        String newHash = passwordEncoder.encode(password);
//        result.put("新生成的哈希", newHash);
//        result.put("新哈希是否匹配", passwordEncoder.matches(password, newHash));
//
//        return Result.success(result, matches ? "密码匹配成功" : "密码不匹配");
//    }
//
//    /**
//     * 查看数据库中的所有用户
//     */
//    @GetMapping("/users")
//    public Result<?> listUsers() {
//        var users = userMapper.selectList(null);
//        log.info("数据库中共有{}个用户", users.size());
//        return Result.success(users);
//    }
//
//    /**
//     * 生成BCrypt密码哈希
//     */
//    @GetMapping("/generate-hash")
//    public Result<Map<String, String>> generateHash(@RequestParam String password) {
//        String hash = passwordEncoder.encode(password);
//        Map<String, String> result = new HashMap<>();
//        result.put("原始密码", password);
//        result.put("BCrypt哈希", hash);
//        return Result.success(result);
//    }
//}
